home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1998 / MacHack 1998.toast / The Hacks! / The Crash Manager / "source" / crash.p < prev    next >
Encoding:
Text File  |  1998-06-20  |  1.7 KB  |  99 lines  |  [TEXT/CWIE]

  1. program crash;
  2.  
  3. uses
  4.     Memory,
  5.     QuickDraw,
  6.     Fonts,
  7.     Windows,
  8.     TextEdit,
  9.     Dialogs,
  10.     GestaltEqu,
  11.     Appearance,
  12.     globals,
  13.     Processes,
  14.     misc,
  15.     ae,
  16.     main,
  17.     cwindow,
  18.     preferences;
  19.     
  20. var
  21.     gestaltError:OSErr;
  22.     gestaltResponse:longint;
  23.     err:OSErr;
  24.     
  25. procedure FatalAlert(cause:integer);
  26. var
  27.     dummy:integer;
  28.     errorText:Str255;
  29. begin
  30.     errorText:=GetResString(FATAL_ALERT_TEXT_ID,cause);
  31.     ParamText(errorText,'','','');
  32.     dummy:=Alert(FATAL_ALERT_ID,nil);
  33.     ExitToShell;
  34. end;
  35.  
  36. procedure DrawMenus;
  37. var
  38.     myMenuBar:Handle;
  39. begin
  40.     myMenuBar:=GetNewMBar(MENU_BAR_ID);
  41.     SetMenuBar(myMenuBar);
  42.     DisposeHandle(myMenuBar);
  43.     gAppleMenuH:=GetMenuHandle(APPLE_MENU);
  44.     gFileMenuH:=GetMenuHandle(FILE_MENU);
  45.     gEditMenuH:=GetMenuHandle(EDIT_MENU);
  46.     AppendResMenu(gAppleMenuH,'DRVR');
  47.     DrawMenuBar;
  48. end;
  49.  
  50. begin
  51.  
  52. { Basic Toolbox initialization }
  53.     MaxApplZone;
  54.     InitGraf(@qd.thePort);
  55.     InitFonts;
  56.     InitWindows;
  57.     InitMenus;
  58.     TEInit;
  59.     InitDialogs(nil);
  60.     InitCursor;
  61.  
  62. { Check for Appearance Manager }
  63.     gestaltError:=Gestalt(gestaltAppearanceAttr,gestaltResponse);
  64.     if (gestaltError=noErr) then begin
  65.         if (not BTST(gestaltResponse,gestaltAppearanceExists)) then begin
  66.             FatalAlert(NEED_APPEARANCE);
  67.         end;
  68.     end else begin
  69.         FatalAlert(NEED_APPEARANCE);
  70.     end;
  71.     
  72. { Initialize globals }
  73.     InitGlobals;
  74.     
  75. { Install Apple Event Handlers }
  76.     InstallAppleEventHandlers;
  77.     
  78. { Register with the Appearance Manager }
  79.     err:=RegisterAppearanceClient;
  80.     
  81.     LoadPreferences(@gThePrefs,sizeof(gThePrefs),'Crash Manager Prefs');
  82.     
  83.     DrawMenus;
  84.     DisplayWindow;
  85.     
  86.     DoMainLoop;
  87.     
  88.     RemoveWindow;
  89.     
  90.     SavePreferences(@gThePrefs,sizeof(gThePrefs),'Crash Manager Prefs');
  91.     
  92. { Unregister with the Appearance Manager }
  93.     err:=UnregisterAppearanceClient;
  94.     
  95. { Remove Apple Event Handlers }
  96.     RemoveAppleEventHandlers;
  97.     
  98. end.
  99.